package com.foryou.wechat.service;

import com.foryou.wechat.entity.UserFollowEntity;
import com.foryou.wechat.model.vo.UserVo;
import com.foryou.wechat.utils.Response;

import java.util.List;

/**
 * <h1>用户关注接口汇总</h1>
 * Created by Lee.
 */
public interface UserFollowService {

    /**
     * <h2>用户关注的数量</h2>
     * @param userId
     * @return
     */
    int followUserList(Long userId);

    /**
     * <h2>用户的粉丝数量</h2>
     * @param userId
     * @return
     */
    int fansUserList(Long userId);

    /**
     * <h2>得到关注的用户列表</h2>
     * @param userId
     * @return
     */
    Response getFollowUserList(int start,Long userId);

    /**
     * <h2>得到用户的粉丝列表</h2>
     * @param userId
     * @return
     */
    Response getFansUserList(int start,Long userId);

    /**
     * <h2>关注用户</h2>
     * @param userId
     */
    Response followUser(Long userId);

    /**
     * <h2>取消关注用户</h2>
     * @param userId
     */
    void cancelUser(Long userId);

    /**
     * <h2>查看是否已经关注了该用户</h2>
     * @param userId
     * @return
     */
    boolean isFollow(Long userId);

    /**
     * <h2>得到组装的用户对象</h2>
     * @param userId
     * @return
     */
    UserVo getUserVo(Long userId);

}
